const Koa = require('koa')
const app = new Koa()

const useRoutes = require('../router')

// 导入 用户模块的路由
//const userRouter = require('../router/user.router')
// 导入 登录模块的路由
//const authRouter = require('../router/auth.router')
// 导入 错误 处理
const errorHandler = require('./error-handle')
// 导入 处理 json、encloended格式 数据的 中间件
const bodyParser = require('koa-bodyparser')

// 注册 中间件
app.use(bodyParser())

// 统一注册路由
// 把 useRoutes 赋值给了 app 这个对象，则 useRoutes() 的 this 指向这个对象
app.useRoutes = useRoutes
app.useRoutes()

// // 注册 用户模块的路由
// app.use(userRouter.routes())
// // 注册 登录模块的路由
// app.use(authRouter.routes())

// app.use(userRouter.allowedMethods())
// allowedMethods 用于判断某一个 method 是否支持
// 如果没有实现某个请求，就会自动报错 405

// 监听 抛出 错误 的 事件
app.on('error', errorHandler)


module.exports = app;